﻿using System;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.nodes.hive;

namespace SharpSqlAnalyzer.stmt.hive
{
	// Token: 0x020001C3 RID: 451
	public class THiveLockTable : TCustomSqlStatement
	{
		// Token: 0x06000F0B RID: 3851 RVA: 0x0030AFA0 File Offset: 0x003091A0
		public THiveLockTable(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.ssthiveLockTable;
		}

		// Token: 0x170002C5 RID: 709
		// (get) Token: 0x06000F0C RID: 3852 RVA: 0x0030AFB4 File Offset: 0x003091B4
		// (set) Token: 0x06000F0D RID: 3853 RVA: 0x0030AFBC File Offset: 0x003091BC
		public virtual EHiveLockMode LockMode
		{
			get
			{
				return this.lockMode;
			}
			set
			{
				this.lockMode = value;
			}
		}

		// Token: 0x170002C6 RID: 710
		// (get) Token: 0x06000F0E RID: 3854 RVA: 0x0030AFC5 File Offset: 0x003091C5
		// (set) Token: 0x06000F0F RID: 3855 RVA: 0x0030AFCD File Offset: 0x003091CD
		public virtual TTable Talbe
		{
			get
			{
				return this.talbe;
			}
			set
			{
				this.talbe = value;
			}
		}

		// Token: 0x06000F10 RID: 3856 RVA: 0x0030AFD8 File Offset: 0x003091D8
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			THiveLockSqlNode thiveLockSqlNode = (THiveLockSqlNode)this.rootNode;
			this.lockMode = thiveLockSqlNode.LockMode;
			this.talbe = this.analyzeFromTable(thiveLockSqlNode.FromTable, new bool?(true));
			return 0;
		}

		// Token: 0x06000F11 RID: 3857 RVA: 0x0030B028 File Offset: 0x00309228
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000F12 RID: 3858 RVA: 0x0030B038 File Offset: 0x00309238
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001357 RID: 4951
		private EHiveLockMode lockMode;

		// Token: 0x04001358 RID: 4952
		private TTable talbe;
	}
}
